import request from '@/utils/request'

// 登录函数
/**
 * 多行注释，目的是描述下面的函数
 * @description: 登录函数
 * @param {*} data { mobile,password}
 * @return {*} promise
 */

// 1、入参 2、逻辑 3、return值
export function login(data) {
  // return 是request函数的调用接口 也就是说return的是request函数的返回值[promise对象]
  // return promise
  // baseURL + url http://ihrm-java.itheima.net/api/sys/login
  return request({
    url: '/sys/login',
    method: 'POST',
    data: data // key data axios封装好的专门用来接收参数的位置
  })
}

// 如果想进行登录 那就可以 调用login函数 方法如下
// login({mobile,password}).then(res => console.log(res))

// 1、封装的好处：【如何去读懂一个函数】
// a、语义化 代码即注释 看到函数就知道作用
// b、复用性 再多个业务中进行复用的时候 哪里用哪里导入
// c、函数统一化 项目写起来更有效率

// 2、requestjs和api的关系：
// 一对多的关系 ——》  一：requestjs 多：api下面的所有接口请求
// 比如： 我们在拦截器中同一注入了token 只要你使用导出的request进行的接口封装
// 就都会拥有token数据 不用单独封装

// ——————————————————————————————————————————————————————
// 获取用户资料的请求
/**
 * @description: 获取用户资料
 * @param {*} token
 * @return {*}
 */
export function getUserInfo() {
  return request({
    url: '/sys/profile',
    method: 'post'
  })
}

// 获取头像的请求
/**
 * @description: 获取用户头像
 * @param {*} id 用户id
 * @return {*}
 */
export function getUserDetailById(id) {
  return request({
    url: `/sys/user/${id}`
  })
}

// 修改员工新的的请求
export const updateemployee = data => request.put(`/sys/user/${data.id}`, data)
